class Solution {
public:
    int minSubArrayLen(int target, vector<int>& nums) {
        //同向双指针
        int left=0,right=0,n=nums.size();
        //O（n）
        int sum=0,ret=INT_MAX;
        while(right<n)
        {
            sum+=nums[right];               //进窗口
            while(sum>=target)         
            {
                ret=min(ret,right-left+1);  //更新结果
                //出窗口
                sum-=nums[left];            
                left++;               
            }
            right++;        //
        }
        //特殊情况：如果只有一个数或者一直小于target
        return ret==INT_MAX?0:ret;
    }
};